package com.shunhao.utils

import android.content.Context
import android.graphics.drawable.Drawable
import android.widget.ImageView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.engine.DiskCacheStrategy
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
import com.bumptech.glide.request.RequestOptions
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions.withCrossFade

/**
 * 项目图片加载框架
 *
 * @author
 */
object ImageLoader {
    /**
     * 加载本地图片drawable
     *
     * @param context 上下文对象
     * @param drawable 本地图标drawable
     * @param mIv 加载ImageView
     */
    fun load(context: Context?, drawable: Drawable?, mIv: ImageView?) {
        Glide.with(context!!).load(drawable).into(mIv!!)
    }

    /**
     * 加载网络图片
     *
     * @param context 上下文对象
     * @param url 网络图片url
     * @param iv 加载ImageView
     */
    @JvmStatic
    fun load(context: Context, url: String?, iv: ImageView) {
        Glide.with(context)
            .load(url)
           // .transition(withCrossFade())
            .into(iv)
    }

    /**
     * 加载网络图 带占位图
     *
     * @param context 上下文对象
     * @param url 网络图片url
     * @param iv 加载ImageView
     */
    fun load(context: Context?, url: String?, iv: ImageView?, defaultImgId: Int) {
        Glide.with(context!!)
            .load(url)
            .apply(RequestOptions().placeholder(defaultImgId))
            .transition(withCrossFade())
            .into(iv!!)
    }

    /**
     * 加载本地大图
     *
     * @param context 上下文对象
     * @param resId 本地图片
     * @param iv 加载ImageView
     */
    fun load(context: Context?, resId: Int, iv: ImageView?) {
        Glide.with(context!!)
            .load(resId)
            .transition(withCrossFade())
            .into(iv!!)
    }
}